{ CoachMarkRec specifies the appearance of a CoachMark }
CoachMarkRecPtr = ^CoachMarkRec;
CoachMarkRec = RECORD
markType: CoachMarkType; { which shape of mark? }
themeOverrides: CoachThemeOverrideFlags; { which values do we get from the theme? }
color: RGBColor; { what color shall the CoachMark be? }
sound: Handle; { sound to be played upon drawing the coachmark (*** Doesn't work in D11) }
regularPercentage: UInt16; { 0..100 - opacity as drawn within the specified grafport }
hiddenPercentage: UInt16; { 0..100 - opacity as drawn outside the specified grafport }
sloppiness: UInt16; { 0..100 }
thickness: UInt16; { in pixels }
curvature: CoachMarkCurvature; { direction of bulge for line-like marks }
END;
{ CoachMarkAnimation specifies the appearance of a coach mark's animation }
CoachMarkAnimationPtr = ^CoachMarkAnimation;
CoachMarkAnimation = RECORD
effectType: CoachAnimationType;
speed: UInt32;
direction: CoachDirection;
END;
{
The Freaky Good Stuff --------------------------------------------------------------------------------------------------------------------------------------------------------------
Creation/destruction
}
FUNCTION NewCoachMarkRef({CONST}VAR appearance: CoachMarkRec; VAR newCoachMark: CoachMarkRef): OSStatus; C;
FUNCTION GetNewCoachMarkRef(resID: SInt16; VAR newMark: CoachMarkRef): OSStatus; C;
FUNCTION DisposeCoachMark(theMark: CoachMarkRef): OSStatus; C;
{ To specify geometry }
FUNCTION CoachRectOnWindow(mark: CoachMarkRef; VAR window: HIWindow; {CONST}VAR localRect: Rect): OSStatus; C;
FUNCTION CoachGlobalRect(mark: CoachMarkRef; {CONST}VAR globalRect: Rect): OSStatus; C;
FUNCTION CoachStrokeOnWindow(theMark: CoachMarkRef; VAR window: HIWindow; {CONST}VAR localSource: Point; {CONST}VAR localDest: Point): OSStatus; C;